Zip for WinRT
High Level: C1ZipFile, C1ZipEntry and C1ZipEntryCollection Classes

These are the highest level classes in the C1Zip library. They allow you to create and manage zip files. Using zip files to store application data provides the following benefits:

C1ZipFile Class

The C1ZipFile class encapsulates a zip file. After you create a C1ZipFile object, you can attach it to an existing zip file or tell it to create a new empty zip file for you.

The code below creates a zip file called sources.zip and adds all files with a "cs" extension to the zip file:

C#
Copy Code
// get path for zip file and files to compress
string path = Application.ExecutablePath;
int pos = path.IndexOf(@"\bin");
path = path.Substring(0, pos + 1);
// create a zip file
C1ZipFile zip = new C1ZipFile();
zip.Create(path + "source.zip");
// add all files with extension cs to the zip file
foreach (string fileName in Directory.GetFiles(path, "*.cs"))
    zip.Entries.Add(fileName);
// show result
foreach (C1ZipEntry ze in zip.Entries)
{
    Console.WriteLine("{0} {1:#,##0} {2:#,##0}",
        ze.FileName, ze.SizeUncompressed, ze.SizeCompressed);
}

C1ZipEntryCollection Class

After you have created or opened a zip file, use the C1ZipFile.Entries collection to inspect the contents of the zip file, or to add, expand, and delete entries. For example:

Visual Basic
Copy Code
myZip.Entries.Add(stream1, "MyData.txt")
myZip.Entries.Add(stream2, "MyData.xml")
Dim zipEntry As C1ZipEntry
For Each zipEntry In myZip.Entries
    Console.WriteLine(zipEntry.FileName)
Next zipEntry

C#
Copy Code
myZip.Entries.Add(stream1, "MyData.txt");
myZip.Entries.Add(stream2, "MyData.doc");
foreach (C1ZipEntry zipEntry in myZip.Entries)
    Debug.WriteLine(zipEntry.FileName);

C1ZipEntry Class

The C1ZipEntry class exposes properties and methods that describe each entry, including its original file name, size, compressed size, and so on. It also has a C1ZipEntry.OpenReader method that returns a stream object, so you can read the entry contents without expanding it first.

See Also

 

 


Copyright (c) GrapeCity, inc. All rights reserved.

Product Support Forum  |  Documentation Feedback